From a Store-Collect Object and Ω to Efficient Asynchronous Consensus

نویسندگان

  • Michel Raynal
  • Julien Stainer
چکیده

This paper presents an efficient algorithm that builds a consensus object. This algorithm is based on an Ω failure detector (to obtain consensus liveness) and a store-collect object (to maintain its safety). A store-collect object provides the processes with two operations, a store operation which allows the invoking process to deposit a new value while discarding the previous value it has deposited and a collect operation that returns to the invoking process a set of pairs (i, val) where val is the last value deposited by the process pi. A store-collect object has no sequential specification. While store-collect objects have been used as base objects to design wait-free constructions of more sophisticated objects (such as snapshot or renaming objects), as far as we know, they have not been explicitly used to built consensus objects. The proposed storecollect-based algorithm, which is round-based, has several noteworthy features. First it uses a single store-collect object (and not an object per round). Second, during a round, a process invokes at most once the store operation and the value val it deposits is a simple pair 〈r, v〉 where r is a round number and v a proposed value. Third, a process is directed to skip rounds according to its view of the current global state (thereby saving useless computation rounds). Finally, the algorithm benefits from the adaptive wait-free implementations that have been proposed for store-collect objects, namely, the number of shared memory accesses involved in a collect operation isO(k) where k is the number of processes that have invoked the store operation. This makes the proposed algorithm particularly efficient and interesting for multiprocess programs made up of asynchronous crash-prone processes that run on top of multicore architectures. Key-words: asynchronous shared memory system, building block, concurrent object, consensus, distributed algorithm, eventual leader, failure detector, fault-tolerance, modularity, multicore system, process crash, store-collect object Consensus asynchrone efficace à partir des objets distribués Ω et Store-collect Résumé : Cet article présente un algorithme efficace qui implémente un objet consensus sans attente (wait-free). Cet algorithme s’appuie sur un détecteur de fautes Ω pour garantir la vivacité du consensus et sur un objet store-collect qui en assure la sûreté. Cette approche permet de bénéficier des implémentations adaptatives existantes de l’objet store-collect, ce qui fait de l’algorithme proposé une alternative intéressante pour résoudre le problème du consensus dans les systèmes asynchrones sujets aux défaillances construits sur des architectures multiprocesseur. Mots clés : système asynchrone, brique de base, mémoire partagée, objets distribués, consensus, algorithme distribué, leader inéluctable, détecteur de fautes, tolérance aux fautes, modularité, système multiprocesseur, défaillances de processus, objet store-collect * Institut Universitaire de France ** ASAP : équipe commune avec l’Université de Rennes 1 et Inria c ©IRISA – Campus de Beaulieu – 35042 Rennes Cedex – France – +33 2 99 84 71 00 – www.irisa.fr 2 M. Raynal & J. Stainer

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Consensus using Asynchronous Failure Detectors

The FLP result shows that crash-tolerant consensus is impossible to solve in asynchronous systems, and several solutions have been proposed for crash-tolerant consensus under alternative (stronger) models. One popular approach is to augment the asynchronous system with appropriate failure detectors, which provide (potentially unreliable) information about process crashes in the system, to circu...

متن کامل

Wait-Free Objects for Real-Time Systems? (position paper)

The aim of this position paper is to promote the use of wait-free implementations for real-time shared objects. Such implementations allow the nonfaulty processes to progress despite the fact the other processes are slow, fast or have crashed. This is a noteworthy property for shared real-time objects. To assess its claim, the paper considers wait-free implementations of three objects: a renami...

متن کامل

Brief Announcement: From an Intermittent Rotating Star to a Leader

The class of eventual leader oracle [2] (usually denoted Ω) provides the processes with a leader primitive that outputs a process id each time it is called, and such that, after some finite but unknown time, all its invocations return the same id, which is the identity of a correct process (a process that does not commit failures). Such an oracle is particularly weak: (1) a correct leader is ev...

متن کامل

Tight RMR Lower Bounds for Mutual Exclusion

We investigate the remote memory references (RMRs) complexity of deterministic processes that communicate by reading and writing shared memory in asynchronous cache-coherent and distributed shared-memory multiprocessors. We define a class of algorithms that we call order encoding. By applying information-theoretic arguments, we prove that every order encoding algorithm, shared by n processes, h...

متن کامل

Weakest failure detectors via an egg - laying simulation ( Preliminary Version ) Antonio

In the k-set agreement task, n processes propose values, and have to decide on at most k of these values. In particular, consensus is 1-set agreement. In PODC 2008 Zieliński showed that the anti−Ω failure detector is necessary and sufficient to solve (n − 1)-set agreement in an asynchronous read/write shared memory system where at most t processes can fail by crashing, t = n− 1. In this paper i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012